/**
 * 渠道sdk收口
 * @desc 渠道在初始化，并保留渠道sdk api
 */
import ENV from 'utils/env'

let sdk = {}
// #ifdef H5
sdk = require('./h5/index')
// #endif

// #ifdef MP
sdk = require('./mp')
// #endif

sdk = sdk.default

sdk.__getProp__ = function(key) {
  return sdk[key]
}
sdk.init && sdk.init()

const noop = function () {}
export default new Proxy(sdk, {
  get: function(target, key) {
    if (key === 'get') {
      // #ifdef MP
      if (uni.canIUse(key)) {
        return uni[key]
      }
      // #endif

      return target.__getProp__
    } else if (key in target) {
      return target[key]
    } else {
      // #ifdef MP
      if (uni.canIUse(key)) {
        return uni[key]
      }
      // #endif

      // 生产环境返回空函数
      if (ENV === 'production'){
        return noop
      }
    }
  }
})
// export default sdk
